
class_name ControllerAI
extends Controller




@onready var timer: Timer = $Timer
var current_unit: Unit = null




func _ready() -> void:
	# 在倒计时结束时让当前的单位结束行动
	# 这适用于靶子（默认AI控制器就是靶子）
	timer.timeout.connect(func () -> void:
		current_unit.end_action()
	)




# 自己管理的 unit 开始行动通知
func unit_start_action(_unit: Unit) -> void:
	current_unit = _unit
	current_unit.emit_signal("action_start_signal", current_unit)
	ai_start()




#  自己管理的 unit 结束行动通知
func unit_end_action(_unit: Unit) -> void:
	_unit.emit_signal("action_end_siganl", _unit)




# ai 准备阶段
func ai_start() -> void:
	ai_action()




# ai 结束阶段
func ai_end() -> void:
	timer.start()




# ai 行动的方法
func ai_action() -> void:
	ai_end()




# ai 的 move 方法
func ai_move(_target: Vector2) -> void:
	pass




# ai 的 attack 方法
func ai_attack() -> void:
	pass




# ai 的 skill 方法
func ai_skill() -> void:
	pass
